package com.ztf.file;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.json.JSONUtil;

import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 实现功能是：
 * 根据目录读取文件，如果是文件夹过滤，并且封装到实体中
 * */
public class FileTest {
    public static void main(String[] args) {
        String path = "E:\\java\\test";
        File[] files = FileUtil.ls(path);
        List<FileEntity> lists = new ArrayList();
        for(File file:files){
            if(!file.isDirectory()){
               // System.out.println(file.getName());
                String fileName = file.getAbsolutePath();
               // System.out.println("fileName="+fileName);
                FileEntity entity = new FileEntity(file.getAbsolutePath(),file.getName());
                lists.add(entity);
            }

        }

        //System.out.println(JSONUtil.toJsonStr(lists));

        //根据文件名字进行过滤
        List<FileEntity> boys = lists.stream()
                .filter(s->s.getName().equals("catalina.2021-12-13.log")).collect(Collectors.toList());
        //输出查找结果
        System.out.println(JSONUtil.toJsonStr(boys));

        File file1 = new File(boys.get(0).getPath());
        FileInputStream in = IoUtil.toStream(file1);
        IoUtil.close(in);
        System.out.println(in);

    }

    
}
